#ifndef CDCSYNC_FILE_DST_BLOCKS_INFO_INCLUDED
#define CDCSYNC_FILE_DST_BLOCKS_INFO_INCLUDED

#include "HashTable.h"
#include "md5.h"
#include "cdcsync.h"

struct FileDstBlocksInfo_cdcsync{
	md5_byte_t filemd5[16];
	long file_size;

	HashTable blocksHash;

	unsigned long window_size;
	unsigned int d, r;
};

void initFileDstBlocksInfo_cdcsync(FileDstBlocksInfo_cdcsync &fbi);
void freeFileDstBlocksInfo_cdcsync(FileDstBlocksInfo_cdcsync &fbi);

void putBlock_cdcsync(FileDstBlocksInfo_cdcsync &fbi, Block_cdcsync block);

Block_cdcsync* findBlock_cdcsync(FileDstBlocksInfo_cdcsync &fbi, md5_byte_t filemd5[16]);


#endif /* CDCSYNC_FILE_DST_BLOCKS_INFO_INCLUDED */